Amaresh: Add debouncing to search/filter inputs in Teams, User Management, Reports, and UserProfile - #5506
Open
amaresh2001 wants to merge 4 commits into
Open
Conversation
added 3 commits
July 25, 2026 14:40
…nt, Reports, and UserProfile team/project assignment
✅ Deploy Preview for highestgoodnetwork-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
iAbhi001
self-requested a review
September 5, 2026 23:21
iAbhi001
approved these changes
Sep 13, 2026
iAbhi001
left a comment
There was a problem hiding this comment.
PR Review: Approved ✅
Tested locally on branch pr-5506-review across all modified components:
- Teams (
/teams): Rapid typing in the wildcard search input is smooth with zero dropped characters; filtering debounces correctly after typing stops. - User Management (
/usermanagement): Raw input remains immediately responsive while the table filter updates cleanly on the debounced state. - Reports (
/reports): Tested across People, Projects, and Teams tables. Search debounce works as intended, and verified thattable-data-containerCSS module scoping renders properly without distorting the layout. - UserProfile: Tested autocomplete debounce for both Assign Team (
AddTeamsAutoComplete) and Assign Project (AddProjectsAutoComplete). Autocomplete suggestions filter accurately with noindexOfor console errors. - UI/Theme: Verified clean appearance and contrast in both Light and Dark modes.
- Test Suite: Ran full test suite locally; all test files passing cleanly.
Code cleanup and debounce cancellations on unmount look solid. Ready to merge!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Investigated each named area before implementing, debounced them, and additionally fixed
Reports/ReportTableSearchPanel.jsx. Also extended the same fix to Assign Project in UserProfile, the exact sibling of Assign Team with the identical pattern.Related PRS (if any):
None. Only frontend change.
Main changes explained:
src/components/Reports/ReportTableSearchPanel.jsxfor a debounced (300ms, leading+trailing) call to theonSearchprop, keeping a locallocalSearchTextstate so the input stays responsive while typingsrc/components/Teams/Teams.jsxfor a debouncedonWildCardSearch(uncontrolled input, wrapped directly,.cancel()on unmount)src/components/UserManagement/UserManagement.jsxfor a splitrawSearchText/wildCardSearchTextstate — the input displaysrawSearchTextinstantly, while the debouncedwildCardSearchTextis the only one driving the actual filter/re-rendersrc/components/UserProfile/TeamsAndProjects/AddTeamsAutoComplete.jsxandAddProjectsAutoComplete.jsxfor a debounced suggestion-list filter, keyed off adebouncedSearchTextstate that lags the raw input by 300msHow to test:
npm installnpm run dev, log in as any userScreenshots or videos of changes:
Note:
Includes one unrelated bug fix hit while testing this branch:
Reports.jsx'stable-data-containerdiv was using a plain string className instead of the CSS module reference, so the rule capping the table's width never applied; the table rendered unbounded and squeezed the category-card layout next to it, blocking the Reports search box from being testable. Fixed by referencingstyles['table-data-container']instead.developmentalready has this fix elsewhere; this branch just predated it.